/*
 * Copyright (c) 2023 Cshoo Org. All Rights Reserved.
 */

package org.cshoo.tattoo.authorize.domain.po;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.cshoo.tattoo.embed.infra.entity.BaseEntity;

import javax.persistence.*;

/**
 * @author 杨翼
 * @since 1.0
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "t_authority")
@Entity
public class Authority extends BaseEntity {

    private String uri;

    private String method;

    /**
     * 访问权限范围，
     * 0，默认值，表示需要授权才可以访问，
     * 1，everyone 表示所有人都可以访问，即系统中的用户登录了之后就可以访问，不需要授权
     * 2，anonymous 表示可以匿名访问，不需要登录就可以访问，登录之后也可以访问，不需要授权
     * -1，deny 表示不允许访问，用于屏蔽掉不需要的接口，或者只能单边从服务器的本机访问，不允许外界访问（即不允许通过gateway访问）
     */
    private Integer accessScope;

    /**
     * 微服务id
     */
    private Long microserviceId;
}
